A computer system, which consists of one or more servers, where requests belong to a multitude of quality-of-service classes, each with a guaranteed performance quality of service, and the request load fluctuates with time is considered. In such a system, a performance manager works dynamically towards achieving the performance guarantees for the various quality-of-classes of requests by optimally allocating resources and properly directing schedulers, concurrency controllers, and routers. Similarly, an application placement manager works dynamically towards optimally placing multiple instances of applications, providing the services, onto servers. If the performance manager and the application placement manager are not working in synchrony, then either each manager will attempt to achieve its local goals without addressing the global objectives, or both managers may work against each other in a way that improving the performance of one manager may place severe restrictions on the other manager. Therefore, there is a need for coordination between the efforts of the performance manager and the application placement manager.
The prior art suggests that the performance manager and the application placement manager perform their tasks in two separate management domains. A system administrator sets some management configuration parameters manually, without a dynamic, automatic process for coordinating meeting the performance guarantees and placing applications onto servers.